<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <script>
    setTimeout(() => {
// #1
    new Promise(resolve => {   // 1 2 3 4 test 888 before-timeout also-before-timeout 444
        resolve();
    }).then(() => {
      // #4 
        console.log('test'); // 第五个执行
    });
 
    console.log(4); // 第四个执行
    setTimeout(function () {
       // #5 
        Promise.resolve().then(res => {
            console.log(444); // 第九个执行
        })
    })
    Promise.resolve().then(res => {
       // #6 
        console.log(888); // 第六个执行
        
    })
});

new Promise(resolve => {
    resolve();
    console.log(1) // 第一个执行
}).then(() => {
    // #2 
    console.log(3); // 第三个执行
    setTimeout(function () {
     // #3
        Promise.resolve().then(() => {
           // #7 
            console.log('before timeout'); // 第七个执行
        }).then(() => {
            Promise.resolve().then(() => {
              // #8 
                console.log('also before timeout') // 第八个执行
            })
        })
    })
})
console.log(2); // 第二个执行
  </script>
</body>
</html>